package com.heima.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.text.SimpleDateFormat;
import java.util.Date;

@Controller
@RequestMapping("/hello")
public class HelloController {


    /**
     * 处理器里面可以原有多个使用@RequestMapping注解的方法
     * 每个方法映射为一个HTTP接口
     * @RequestMapping(value = {"/sayHello1","/sayHello2",...}) 可以映射多个url
     *
     * modelAndView是提供的数据视图对象
     * 用于为指定视图（jsp页面）以及提供数据
     *
     * @param modelAndView
     * @return
     */
    @RequestMapping(value = {"/sayHello1","/sayHello2"})
    public ModelAndView sayHello(ModelAndView modelAndView){
        //设置模板数据
        modelAndView.addObject("nowDate",new Date());
        modelAndView.addObject("msg","hello");
        //指定视图页面
        modelAndView.setViewName("message");

        return modelAndView;
    }

    //限定请求地址的请求方法
    //method:限定请求方法
    //get请求
    @GetMapping("/sayGet")
    public ModelAndView methodGet(ModelAndView modelAndView){
        String format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
        //设置模板数据
        modelAndView.addObject("nowDate",format);
        modelAndView.addObject("msg","sayGet()");
        //指定视图页面
        modelAndView.setViewName("message");

        return modelAndView;
    }

    //post请求
    @PostMapping("/sayPost")
    public ModelAndView methodPost(ModelAndView modelAndView){
        String format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
        modelAndView.addObject("nowDate",format);
        modelAndView.addObject("msg","sayPost()");
        modelAndView.setViewName("message");

        return modelAndView;
    }


}
